import java.util.Arrays;
import java.util.HashMap;
import java.util.Scanner;

public class Solution {
//    public static void main(String[] args) {
//        Scanner scan = new Scanner(System.in);
//        //在此输入您的代码...
//        int ret = 0;
//        String str = scan.next();
//        int len = str.length();
//        char[] ch = str.toCharArray();
//
//        long countL = 0, countLa = 0, countLan = 0;
//
//        for (int i = 0; i < len; i++) {
//            if (ch[i] == 'l') {
//                countL++;
//            } else if (ch[i] == 'a') {
//                countLa += countL;
//            } else {
//                countLan += countLa;
//            }
//        }
//        System.out.println(countLan);
//        scan.close();
//    }

//    public static void main(String[] args) {
//        Scanner scan = new Scanner(System.in);
//        //在此输入您的代码...
//        int n = scan.nextInt();
//        int[][] money = new int[n][2];
//
//        long sum = 0;
//
//        for (int i = 0; i < n; i++) {
//            money[i][0] = scan.nextInt();
//            money[i][1] = scan.nextInt();
//            sum += Math.max(money[i][0], money[i][1]);
//        }
//
//        System.out.println(sum);
//
//        scan.close();
//    }

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        //在此输入您的代码...
        int n = scan.nextInt();
        int[] f = new int[n];//蓝队, 0表示没被选上过，1表示被选上过
        int[] g = new int[n];//红队

        for (int i = 0; i < n; i++) {
            f[i] = scan.nextInt();
        }
        for (int i = 0; i < n; i++) {
            g[i] = scan.nextInt();
        }

        Arrays.sort(f);

        int[][] ff = new int[2][n];

        for (int i = 0; i < n; i++) {
            ff[0][i] = f[i];
        }

        int maxG = 0;
        int ret = 0;
        int sum = 0;//红队已经上场的人数总数

        for (int i = 0; i < n; i++) {
            maxG = Math.max(maxG, g[i]);
            sum++;
            for (int j = 0; j < n; j++) {
                if (ff[1][j] == 0 && ff[0][j] == maxG) {
                    boolean flag = false;
                    for (int k = 0; k <= i; k++) {
                        if (ff[0][j] > g[k]) {
                            flag = true;
                            ff[1][j] = 1;
                            ret++;
                        }
                    }
                    if (!flag) {
                        break;
                    }
                } else if (ff[1][j] == 0 && ff[0][j] > maxG) {
                    ff[1][j] = 1;
                    ret += sum;
                }
            }
        }

        System.out.println(ret);

        scan.close();
    }
}
